home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12813 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.1 KB

  1. Path: user2.mnsinc.com!huang
  2. From: huang@mnsinc.com (Szu-Wen Huang)
  3. Newsgroups: comp.lang.c++,comp.lang.c,comp.object,comp.software-eng
  4. Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
  5. Followup-To: comp.lang.c++,comp.lang.c,comp.object,comp.software-eng
  6. Date: 21 Mar 1996 20:49:34 GMT
  7. Organization: Monumental Network Systems
  8. Message-ID: <4isfcu$p09@news1.mnsinc.com>
  9. References: <4ikb6kINN1is@mayne.ugrad.cs.ubc.ca> <DoI5Ao.AyJ@assip.csasyd.oz> <EJH.96Mar19163745@larry.gsfc.nasa.gov> <3150415E.6396@sdt.com> <4ip5om$s9@bughouse.imonics.com>
  10. NNTP-Posting-Host: user2.mnsinc.com
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. Imonics Corporation (rcook@imonics.com) wrote:
  14.  
  15. : I think Unix and C are a success because they are deliberately
  16. : obscure.  All those "computer science" graduates just love
  17. : knowing a secret code with which they can amaze people.  They
  18. : don't WANT it to be easy to understand; that would mean that
  19. : other people could and would read their code and be able to do
  20. : the things they do.  That would weaken their club membership
  21. : (sort of like letting in girls is to 7-year-olds).
  22.  
  23. That's not really fair.  In the beginning, only countries can
  24. afford computers.  Then big businesses.  Then scientists.  Unix
  25. was born at a time when scientists were beginning to buy computers
  26. to aid their work, and really heralded what we now call general-
  27. purpose computing.  Unix fit quite well to this task, despite its
  28. shortcomings in architecture.  Unix was never meant to be for non-
  29. experts, that's quite clear.  It is not so much a deliberate "club
  30. membership" attempt as it is simply easier for experts to use
  31. expert-talk and expert-tools.  You are twisting the motive in your
  32. post, because the objective is to be lean and mean, not to be
  33. deliberately obscure.  The obscurity was a necessity when the
  34. machines had such limited capacities.
  35.  
  36. C was born under the same considerations.  If C was verbose like
  37. COBOL, for instance, you could only load so much fewer lines into
  38. memory.  Simple as that.
  39.  
  40. : The portability issue is/was partially myth; it gave rise to
  41. : non-computer people (and some who should have known better) saying
  42. : things like "Write it in C so it will be portable".  That's
  43. : horse manure.  It is easier to WRITE portable code in C because
  44. : there are more C compilers, but that doesn't mean that C code
  45. : is inherently more portable.  The other thing about portability
  46. : is the commercial part of the myth -- companies don't really 
  47. : want to change machines and operating systems every few years,
  48. : that's for people who regard them as toys.
  49.  
  50. The quality (including portability) is only as good as the programmer,
  51. obviously.  As a language, C is small, and makes it easier to write
  52. conforming compilers for.  C is not the only portable language, of
  53. course.
  54.  
  55. : This SAME ARGUMENT (that it isn't necessary today, but was "back
  56. : when) has been made for AT LEAST 10 years, and perhaps 15.  The
  57. : problem is not that people need to squeeze performance out of
  58. : slow machines -- they have to do that sometimes, but that isn't
  59. : the problem.  The problem is that they use that argument to justify
  60. : poor engineering practice even when performance is not an issue.
  61. : Witness the people who will do micro-second-saving-practices when
  62. : writing a user interface, where the next thing to happen is waiting
  63. : for keystrokes.  Witness people who will argue against splitting
  64. : things into subroutines "because of performance" without a single
  65. : minute spent evaluating whether there are any performance problems
  66. : to be solved.
  67.  
  68. Software and hardware engineering have been becoming more and more
  69. quantitative and scientific.  More and more people are starting to
  70. profile before optimizing.  I don't see what you're complaining about.
  71. There will always be poor engineers.
  72.  
  73. : If I find a person who will engineer a piece of software, measure the
  74. : performance, and then examine which pieces require optimization in
  75. : order to speed up the system; if this person will document what he
  76. : is doing so that those who come later can figure it out, then he can
  77. : put as many gotos, obscure pointer arithmetic, and etc. into his code
  78. : as will get the job done.  I won't object, and I won't call it hacking.
  79.  
  80.